package com.med.meddataintegrator.jwt.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@Configuration
public class PasswordEncoderConfig {

    // 定义一个Bean，用于创建PasswordEncoder实例
    @Bean
    public PasswordEncoder passwordEncoder() {
        // BCrypt 是一种安全且适合密码存储的哈希算法，它在进行哈希时会自动加入“盐”，增加密码的安全性。
        return new BCryptPasswordEncoder();
    }

    // 主函数，用于测试BCryptPasswordEncoder的密码编码功能
    public static void main(String[] args) {
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        // 对密码 "quanxiaoha" 进行编码，并打印编码后的结果
        System.out.println(encoder.encode("123456"));
        //$2a$10$4omBZHnrsCwFQKW/KqS1hej2dbjqN6siYgBDmGdyKyNY0Rbk9fJF.
    }
}